<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>openid.server.trustroot.TrustRoot</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">

<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="openid-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://openidenabled.com/python-openid/">Python-OpenID</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <font size="-1"><b class="breadcrumbs">
        <a href="openid-module.html">Package&nbsp;openid</a> ::
        <a href="openid.server-module.html">Package&nbsp;server</a> ::
        <a href="openid.server.trustroot-module.html">Module&nbsp;trustroot</a> ::
        Class&nbsp;TrustRoot
      </b></font></br>
    </td>
    <td><table cellpadding="0" cellspacing="0">
      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="openid.server.trustroot.TrustRoot-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
    </table></td>
</tr></table>

<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Type TrustRoot</h2>

<pre class="base-tree">
<a href="__builtin__.object-class.html"><code>object</code></a> --+
         |
        <b>TrustRoot</b>
</pre><br />

<hr/>

This class represents an OpenID trust root. The <code><a 
href="openid.server.trustroot.TrustRoot-class.html#parse" 
class="link"><code>parse</code></a></code> classmethod accepts a trust 
root string, producing a <code><a 
href="openid.server.trustroot.TrustRoot-class.html" 
class="link"><code>TrustRoot</code></a></code> object. The method OpenID 
server implementers would be most likely to use is the <code><a 
href="openid.server.trustroot.TrustRoot-class.html#isSane" 
class="link"><code>isSane</code></a></code> method, which checks the 
trust root for given patterns that indicate that the trust root is too 
broad or points to a local network resource.
<hr/>


<!-- =========== START OF METHOD SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Method Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">        <code>NoneType</code> or <code><a 
        href="openid.server.trustroot.TrustRoot-class.html" 
        class="link"><code>TrustRoot</code></a></code>
</font></td>
  <td><code><span class="summary-sig"><a href="openid.server.trustroot.TrustRoot-class.html#parse" class="summary-sig-name"><code>parse</code></a>(<span class=summary-sig-arg>cls</span>,
          <span class=summary-sig-arg>trust_root</span>)</span></code>
<br />
This method creates a <code><a 
href="openid.server.trustroot.TrustRoot-class.html" 
class="link"><code>TrustRoot</code></a></code> instance from the given 
input, if possible.    <i>(Class method)</i>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">        <code>bool</code>
</font></td>
  <td><code><span class="summary-sig"><a href="openid.server.trustroot.TrustRoot-class.html#isSane" class="summary-sig-name"><code>isSane</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
This method checks the to see if a trust root represents a reasonable 
(sane) set of URLs.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>unparsed</span>,
          <span class=summary-sig-arg>proto</span>,
          <span class=summary-sig-arg>wildcard</span>,
          <span class=summary-sig-arg>host</span>,
          <span class=summary-sig-arg>port</span>,
          <span class=summary-sig-arg>path</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="__repr__"></a><span class="summary-sig"><span class="summary-sig-name">__repr__</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="__str__"></a><span class="summary-sig"><span class="summary-sig-name">__str__</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">        str
</font></td>
  <td><code><span class="summary-sig"><a href="openid.server.trustroot.TrustRoot-class.html#buildDiscoveryURL" class="summary-sig-name"><code>buildDiscoveryURL</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return a discovery URL for this realm.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="openid.server.trustroot.TrustRoot-class.html#checkSanity" class="summary-sig-name"><code>checkSanity</code></a>(<span class=summary-sig-arg>cls</span>,
          <span class=summary-sig-arg>trust_root_string</span>)</span></code>
<br />
str -&gt; bool    <i>(Class method)</i>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="openid.server.trustroot.TrustRoot-class.html#checkURL" class="summary-sig-name"><code>checkURL</code></a>(<span class=summary-sig-arg>cls</span>,
          <span class=summary-sig-arg>trust_root</span>,
          <span class=summary-sig-arg>url</span>)</span></code>
<br />
quick func for validating a url against a trust root.    <i>(Class method)</i>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">        <code>bool</code>
</font></td>
  <td><code><span class="summary-sig"><a href="openid.server.trustroot.TrustRoot-class.html#validateURL" class="summary-sig-name"><code>validateURL</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>url</span>)</span></code>
<br />
Validates a URL against this trust root.</td></tr>
  <tr><td colspan="2">
    <b>Inherited from <a href="__builtin__.object-class.html"><code>object</code></a>:</b>
      <a href="__builtin__.object-class.html#__delattr__"><code>__delattr__</code></a>, 
      <a href="__builtin__.object-class.html#__getattribute__"><code>__getattribute__</code></a>, 
      <a href="__builtin__.object-class.html#__hash__"><code>__hash__</code></a>, 
      <a href="__builtin__.object-class.html#__new__"><code>__new__</code></a>, 
      <a href="__builtin__.object-class.html#__reduce__"><code>__reduce__</code></a>, 
      <a href="__builtin__.object-class.html#__reduce_ex__"><code>__reduce_ex__</code></a>, 
      <a href="__builtin__.object-class.html#__setattr__"><code>__setattr__</code></a>
    </td></tr>
</table><br />


<!-- =========== START OF INSTANCE METHOD DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Instance Method Details</th></tr>
</table>

<a name="isSane"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">isSane</span>(<span class=sig-arg>self</span>)</span>
  </h3>
  This method checks the to see if a trust root represents a 
  reasonable (sane) set of URLs. 'http://*.com/', for example is not a 
  reasonable pattern, as it cannot meaningfully specify the site claiming 
  it. This function attempts to find many related examples, but it can 
  only work via heuristics. Negative responses from this method should be 
  treated as advisory, used only to alert the user to examine the trust 
  root carefully.
  <dl><dt></dt><dd>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        Whether the trust root is sane
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=<code>bool</code>)</i>
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="buildDiscoveryURL"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">buildDiscoveryURL</span>(<span class=sig-arg>self</span>)</span>
  </h3>
  <p>Return a discovery URL for this realm.</p>
  This function does not check to make sure that the realm is valid. 
  Its behaviour on invalid inputs is undefined.
  <dl><dt></dt><dd>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        The URL upon which relying party discovery should be run in 
        order to verify the return_to URL
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=str)</i>
      </dd>
    </dl>
<p><b>Since:</b> 2.1.0
</p>

  </dd></dl>
</td></tr></table>

<a name="validateURL"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">validateURL</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>url</span>)</span>
  </h3>
  Validates a URL against this trust root.
  <dl><dt></dt><dd>
    <dl><dt><b>Parameters:</b></dt>
      <dd><code><b>url</b></code> -
         The URL to check
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=<code>str</code>)</i>
      </dd>
    </dl>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        Whether the given URL is within this trust root.
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=<code>bool</code>)</i>
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>
<br />


<!-- =========== START OF CLASS METHOD DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Class Method Details</th></tr>
</table>

<a name="parse"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">parse</span>(<span class=sig-arg>cls</span>,
          <span class=sig-arg>trust_root</span>)</span>
  </h3>
  This method creates a <code><a 
  href="openid.server.trustroot.TrustRoot-class.html" 
  class="link"><code>TrustRoot</code></a></code> instance from the given 
  input, if possible.
  <dl><dt></dt><dd>
    <dl><dt><b>Parameters:</b></dt>
      <dd><code><b>trust_root</b></code> -
         This is the trust root to parse into a <code><a 
        href="openid.server.trustroot.TrustRoot-class.html" 
        class="link"><code>TrustRoot</code></a></code> object.
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=<code>str</code>)</i>
      </dd>
    </dl>
    <dl><dt><b>Returns:</b></dt>
      <dd>
        A <code><a href="openid.server.trustroot.TrustRoot-class.html" 
        class="link"><code>TrustRoot</code></a></code> instance if 
        trust_root parses as a trust root, <code>None</code> 
        otherwise.
        <br /><i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (type=<code>NoneType</code> or <code><a 
        href="openid.server.trustroot.TrustRoot-class.html" 
        class="link"><code>TrustRoot</code></a></code>)</i>
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>

<a name="checkSanity"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">checkSanity</span>(<span class=sig-arg>cls</span>,
          <span class=sig-arg>trust_root_string</span>)</span>
  </h3>
  <p>str -&gt; bool</p>
  is this a sane trust root?
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="checkURL"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">checkURL</span>(<span class=sig-arg>cls</span>,
          <span class=sig-arg>trust_root</span>,
          <span class=sig-arg>url</span>)</span>
  </h3>
  quick func for validating a url against a trust root. See the 
  TrustRoot class if you need more control.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>
<br />


<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="openid-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://openidenabled.com/python-openid/">Python-OpenID</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td align="left"><font size="-2">Generated by Epydoc 2.1 on Fri Dec 14 16:10:52 2007</font></td>
    <td align="right"><a href="http://epydoc.sourceforge.net"
                      ><font size="-2">http://epydoc.sf.net</font></a></td>
  </tr>
</table>
</body>
</html>
